.TH std::chrono::time_point::time_point 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::chrono::time_point::time_point \- std::chrono::time_point::time_point

.SH Synopsis
                                         \fI(since C++11)\fP
   time_point();                         (constexpr since
                                         C++14)
   explicit time_point( const                             \fI(since C++11)\fP
   duration& d );                \fB(1)\fP                      (constexpr
                                                          since C++14)
   template< class Duration2 >       \fB(2)\fP                                 \fI(since C++11)\fP
   time_point( const                     \fB(3)\fP                             (constexpr
   time_point<Clock, Duration2>&                                         since C++14)
   t );

   Constructs a new time_point from one of several optional data sources.

   1) Default constructor, creates a time_point representing the Clock's epoch (i.e.,
   time_since_epoch() is zero).
   2) Constructs a time_point at Clock's epoch plus d.
   3) Constructs a time_point by converting t to duration. This constructor only
   participates in overload resolution if Duration2 is implicitly convertible to
   duration.

.SH Parameters

   d - a duration to copy from
   t - a time_point to convert from

.SH Example


// Run this code

 #include <chrono>
 #include <iostream>

 using Clock = std::chrono::steady_clock;
 using TimePoint = std::chrono::time_point<Clock>;

 void print_ms(const TimePoint& point)
 {
     using Ms = std::chrono::milliseconds;
     const Clock::duration since_epoch = point.time_since_epoch();
     std::cout << std::chrono::duration_cast<Ms>(since_epoch) << '\\n';
 }

 int main()
 {
     const TimePoint default_value = TimePoint(); // (1)
     print_ms(default_value); // 0ms

     const Clock::duration duration_4_seconds = std::chrono::seconds(4);
     const TimePoint time_point_4_seconds(duration_4_seconds); // (2)
     // 4 seconds from start of epoch
     print_ms(time_point_4_seconds); // 4000ms

     const TimePoint time_point_now = Clock::now(); // (3)
     print_ms(time_point_now); // 212178842ms
 }

.SH Possible output:

 0ms
 4000ms
 212178842ms

.SH See also

   constructor   constructs new duration
                 \fI(public member function of std::chrono::duration<Rep,Period>)\fP
   duration_cast converts a duration to another, with a different tick interval
   \fI(C++11)\fP       \fI(function template)\fP
